#pragma once

class Entity;
class Enemy;
class BasicTower;
class TargetMediator
{
public:
	TargetMediator(void);
	~TargetMediator(void);

	void AddTarget(Enemy* enemy, BasicTower* basic_tower);
	void RemoveTower(BasicTower* basic_tower);
	void RemoveTarget(Enemy* enemy);
	Entity* GetTarget(BasicTower* basic_tower);

private:
	typedef std::map<Enemy*, std::vector<BasicTower*>> TargetList;
	TargetList m_target_list;
};

